package com.alibaba.citrus.cr.unified.inventory.dto.api.response;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class QuerySalesPlanLineListDTO implements Serializable {

    /**
     *
     */
    private String id;

    /**
     *月度计划ID
     */
    private String planId;

    /**
     * 调整ID
     */
    private String adjustId;

    /**
     * 类型
     * 1：业务员货品汇总 2：销售部门货品汇总 3：销售渠道货品汇总 4：销售组织货品汇总 5：业务单元货品汇总
     */
    private String bizType;

    /**
     * bizId
     */
    private String bizId;

    /**
     * ids
     */
    private List<Long> ids;

    /**
     * bizOutId
     */
    private String bizOutId;

    /**
     * 货品ID
     */
    private String scItemId;

    /**
     * 货品组
     */
    private String scItemGroup;

    /**
     * 到岸价
     */
    private String costInsuranceFreight;

    /**
     * 类目叶子节点ID
     */
    private String scItemLeafCategoryId;

    /**
     * 类目根节点ID
     */
    private String scItemRootCategoryId;

    /**
     * 月份合同量
     */
    private String monthContractCount;

    /**
     * 月份合同金额
     */
    private String monthContractMoney;

    /**
     * 计划量调整量
     */
    private String monthCount;

    /**
     * 计划金额调整金额
     */
    private String monthMoney;

    /**
     * 任务量
     */
    private String taskCount;

    /**
     * 任务金额
     */
    private String taskMoney;

    /**
     * 回复量
     * 回复量 = month_first_return_count + month_middle_return_count + month_last_return_count
     */
    private String returnCount;

    /**
     * 合同差量
     * adjust_id=null 月度计划待锁定状态时 差值=合同数量-计划提报数量 月度计划已发布状态时 差值=合同数量-计划任务数量 adjust_id != null 月度计划已调整状态时 差值=合同数量-（计划任务数量+调整数量）
     */
    private String contractDifferenceCount;

    /**
     * 合同差额
     * adjust_id=null 月度计划待锁定状态时 差额=合同金额-计划提报金额 月度计划已发布状态时 差额=合同金额-计划任务金额 adjust_id != null 月度计划已调整状态时 差额=合同金额-（计划任务金额+调整金额）
     */
    private String contractDifferenceMoney;

    /**
     * 合同满足度
     * 月度计划待锁定状态时 满足度=计划提报量/合同数量 月度计划已发布状态时 满足度=计划任务量/合同数量 月度计划已调整状态时 满足度=(计划任务量+调整数量)/合同数量
     */
    private String contractSatisfaction;

    /**
     * 上旬量
     * adjust_id = null 上旬计划提报量 adjust_id != null 上旬计划调整量
     */
    private String monthFirstCount;

    /**
     * 上旬回复量
     */
    private String monthFirstReturnCount;

    /**
     * 上旬任务量
     */
    private String monthFirstTaskCount;

    /**
     * 中旬量
     */
    private String monthMiddleCount;

    /**
     * 中旬回复量
     */
    private String monthMiddleReturnCount;

    /**
     * 中旬任务量
     */
    private String monthMiddleTaskCount;

    /**
     * 下旬量
     */
    private String monthLastCount;

    /**
     * 下旬回复量
     */
    private String monthLastReturnCount;

    /**
     * 下旬任务量
     */
    private String monthLastTaskCount;

    /**
     * M1滚动计划量
     */
    private String m1RollingPlanCount;

    /**
     * M1滚动回复量
     */
    private String m1RollingReturnCount;

    /**
     * M2滚动计划量
     */
    private String m2RollingPlanCount;

    /**
     * M2滚动回复量
     */
    private String m2RollingReturnCount;

    /**
     * M3滚动计划量
     */
    private String m3RollingPlanCount;

    /**
     * M3滚动回复量
     */
    private String m3RollingReturnCount;

    /**
     * 状态
     * 1：待锁定 2：待回复 3：待发布 4：已发布
     */
    private String status;

    /**
     * 扩展字段
     */
    private String features;

    /**
     * 版本
     */
    private String version;

    /**
     * param1
     */
    private String param1;

    /**
     * param2
     */
    private String param2;

    /**
     * param3
     */
    private String param3;

    /**
     * 创建时间
     */
    private String gmtCreate;

    /**
     * 修改时间
     */
    private String gmtModified;

    /**
     * 创建人
     */
    private String creator;

    /**
     *
     * 修改人
     */
    private String updater;

    /**
     *
     */
    private String orgBusinessUnitInventory;

    /**
     * 状态名称
     */
    private String statusDesc;

    /**
     * 货品名称
     */
    private String scItemName;
}
